<?php

namespace Dddxiu\rules;

use Dddxiu\Layer;

/**
 * 必须有的值
 */
class Required implements Rule
{
    // flag
    const F = 'r';


    /**
     * 必须校验
     * 两个返回值:
     *     1.校对结果   pass
     *     2.是否打翻漏斗 overturn
     * @param array $input
     * @param string $field
     * @param Layer $layer
     * @param array $args
     * @return \Closure|bool
     * @throws \Exception
     */
    public static function valid($input, $field, $layer, $args)
    {
        $pass = array_key_exists($field, $input);
        if ($pass) {
            return $layer::next();
        }
        return false;
    }
}